/**
 * 
 */
var taskId = Ext.util.Cookies.get('taskId');
Ext.util.Cookies.set('taskId', null);
var flag = Ext.util.Cookies.get('flag');
Ext.util.Cookies.set('flag', null);
var role = Ext.util.Cookies.get('role');
Ext.util.Cookies.set('role', null);
function init() {
	var title = "任务下达";
	Ext.getCmp('titlePanel').body
			.update('<div align="center"><font size="5"><b>' + title
					+ '</b></font></div>');
};
var titlePanel = {
	id : 'titlePanel',
	autoScroll : true,
	height : 50,
	bodyPadding : '10px 100px 10px 100px',
	xtype : 'panel',
	border : false,
	layout : 'fit'
};

var superDeptStore = Ext.create('Ext.data.TreeStore', {
			fields : ['id', 'name'],
			proxy : {
				type : 'ajax',
				url : 'deptAction!getTreeBypid.action'
			},
			root : {
				id : '1',
				name : '上海市质量监督局',
				expanded : true
			},
			// rootVisible : false,
			reader : {
				type : 'json'
			}
		});
var receiverTriggerHidden = Ext.create('Ext.form.Hidden', {
			name : 'receid'
		});
var receiverTrigger = Ext.create('Ext.form.TriggerField', {
			emptyText : '请选择',
			fieldLabel : '接收人',
			// allowBlank: false,
			editable : true,
			name : 'receiverName',
			enableKeyEvents : true,
			triggerClass : 'x-form-search-trigger',
			onTriggerClick : function() {
				receiverWin.show();
				superDeptStore.load();
			}
		});
var userStore = new Ext.data.JsonStore({
			proxy : {
				type : 'ajax',
				url : 'messageAction!queryReceiver.action',
				reader : {
					type : 'json',
					root : 'pageList'
				}
			},
			fields : ['name', 'id']
		});
userStore.load();
var userSelector = Ext.create('Ext.ux.form.ItemSelector', {
			name : 'users',
			store : userStore,
			displayField : 'name',
			valueField : 'id',
			msgTarget : 'side',
			fromTitle : '未选',
			toTitle : '已选'
		});
var receiverForm = Ext.create('Ext.form.Panel', {
			bodyPadding : 5,
			border : 0,
			autoScroll : true,
			defaults : {
				anchor : '100%'
			},
			items : [{
				id : 'dept',
				fieldLabel : '单位名称',
				xtype : 'treepicker',
				store : superDeptStore,
				displayField : 'name',
				valueField : 'id',
				value : 1,
				listeners : {
					select : function(view, record, sumitem, index, event,
							options) {
						var proxy = userStore.getProxy();
						var right = [];
						Ext.Array.each(userSelector.getValue(), function(item) {
									right.push(item);
								});
						proxy.extraParams = {
							"deptId" : this.value,
							"recids" : right.join(",")
						};
						// userSelector.fromField.store.removeAll();
						userSelector.restore(userStore);
						userStore.reload();
					}
				}
			}, userSelector]
		});
var receiverWin = Ext.create('Ext.window.Window', {
			title : '接收人选择',
			autoHeight : true,
			width : 600,
			layout : 'fit',
			autoScroll : true,
			overflowX : 'auto',
			overflowY : 'auto',
			modal : true,
			closeAction : 'hide',
			closable : true,
			items : [receiverForm],
			listeners : {
				show : function() {
					receiverForm.getForm().reset();
				}
			},
			buttonAlign : 'center',
			buttons : [{
						text : '确定',
						handler : function() {
							receiverTriggerHidden.setValue(userSelector
									.getValue());
							receiverTrigger.setValue(userSelector.getText());
							receiverWin.hide();
						}
					}, {
						text : '取消',
						handler : function() {
							receiverWin.hide();
						}
					}]
		});

var typeStore = Ext.create('Ext.data.Store', {
			fields : ['id', 'name'],
			data : [{
						'id' : 1,
						'name' : '重要紧急'
					}, {
						'id' : 2,
						'name' : '重要不紧急'
					}, {
						'id' : 3,
						'name' : '紧急不重要'
					}, {
						'id' : 4,
						'name' : '不重要不紧急'
					}]
		});
var typeCombo = Ext.create('Ext.form.field.ComboBox', {
			fieldLabel : '任务性质',
			store : typeStore,
			name : 'task.type',// 控件名称
			displayField : 'name',
			valueField : 'id',// 实际值
			queryMode : 'local'
		});
// var content = {
// id : 'contentEditor1',
// xtype : 'ueditor',
// renderTo : Ext.getBody(),
// fieldLabel : '任务内容',
// name : 'task.content',
// // fontFamilies : ['宋体', '黑体', '隶书', '楷体_GB2312', 'Arial',
// // 'Courier New', 'Tahoma', 'Times New Roman', 'Verdana'],
// // defaultFont : '宋体',
// width : '90%',
// height : 500
// };
var infoForm = Ext.create('Ext.form.Panel', {
	autoScroll : true,
	bodyPadding : 0,
	border : false,
	defaults : {
		anchor : '100%'
	},
	items : [{
		xtype : "fieldset",
		collapseFirst : true,
		border : false,
		defaults : {
			anchor : '100%'
		},
		layout : 'anchor',
		items : [receiverTriggerHidden, {
					layout : 'hbox',
					bodyBorder : false,
					bodyStyle : 'padding:0px 0px 0px 0px;border-width:0px 0px 0px 0px',
					defaults : {
						border : false,
						flex : 1,
						layout : 'anchor',
						anchor : '90%'
					},
					items : [{
								defaultType : 'textfield',
								defaults : {
									anchor : '-15',
									labelAlign : 'left'
								},
								items : [receiverTrigger]
							}]

				}, {
					layout : 'hbox',
					bodyBorder : false,
					bodyStyle : 'padding:0px 0px 0px 0px;border-width:0px 0px 0px 0px',
					defaults : {
						border : false,
						flex : 1,
						layout : 'anchor',
						anchor : '90%'
					},
					items : [{
						defaultType : 'textfield',
						defaults : {
							anchor : '80%',
							labelAlign : 'left'
						},
						items : [{
							fieldLabel : '计划完成时间<font color=red>*</font>',
							allowBlank : false,
							format : 'Y-m-d',
							xtype : 'datefield',
							name : 'task.plantime',
							editable : false,
							onTriggerClick : function() {
								var dt1 = this;
								Ext.form.DateField.prototype.onTriggerClick
										.apply(dt1, arguments);
								if (Ext.isEmpty(dt1.clearBtn)) {
									this.clearBtn = new Ext.Button({
												text : '清除',
												handler : function() {
													dt1.setValue("");
													dt1.picker.hide();
													dt1.collapse();
												}
											});
									dt1.clearBtn
											.render(dt1.picker.todayBtn.container);
								}
							}
						}]
					}, {
						defaults : {
							anchor : '-15',
							labelAlign : 'left'
						},
						items : [typeCombo]
					}]

				}, {
					layout : 'hbox',
					bodyBorder : false,
					bodyStyle : 'padding:0px 0px 0px 0px;border-width:0px 0px 0px 0px',
					defaults : {
						border : false,
						flex : 1,
						layout : 'anchor',
						anchor : '90%'
					},
					items : [{
						defaultType : 'textfield',
						defaults : {
							anchor : '-15',
							labelAlign : 'left'
						},
						items : [{
									fieldLabel : '任务主题<font color=red>*</font>',
									allowBlank : false,
									name : 'task.title'
								}]
					}]

					// }, {
					// layout : 'hbox',
					// bodyBorder : false,
					// bodyStyle : 'padding:0px 0px 0px 0px;border-width:0px 0px
					// 0px 0px',
					// defaults : {
					// border : false,
					// flex : 1,
					// layout : 'anchor',
					// anchor : '90%'
					// },
					// items : [{
					// defaults : {
					// anchor : '-15',
					// labelAlign : 'left'
					// },
					// items : [{
					// xtype : 'panel',
					// border : false,
					// html : '任务内容<font color=red>*</font>：',
					// bodyStyle : 'padding:0px,5px,0px,0px;border-width:0px 0px
					// 0px 0px'
					// }, {
					// // allowBlank : false,
					// xtype : 'ueditor',
					// width : '100%',
					// height : 500,
					// id : 'contentEditor1',
					// name : 'task.content'
					// }, {
					// xtype : 'hiddenfield',
					// name : 'task.id'
					// }, {
					// xtype : 'hiddenfield',
					// name : 'task.status'
					// }]
					// }]

				}, {
					xtype : 'panel',
					border : false,
					html : '任务内容<font color=red>*</font>：',
					bodyStyle : 'padding:0px,5px,0px,0px;border-width:0px 0px 0px 0px'
				}, {
					// allowBlank : false,
					xtype : 'ueditor',
					width : '98%',
					height : 500,
					id : 'contentEditor1',
					name : 'task.content'
				}, {
					xtype : 'hiddenfield',
					name : 'task.id'
				}, {
					xtype : 'hiddenfield',
					name : 'task.status'
				}]
	}]
});
var receids = [];
var masterForm = Ext.create('Ext.form.Panel', {
	autoScroll : true,
	bodyPadding : '10px 100px 10px 100px',
	border : false,
	url : 'taskAction!saveOrUpdate.action',
	baseParams : {
		receids : receids
	},
	defaults : {
		anchor : '100%'
	},
	items : [titlePanel, infoForm],
	buttons : [{
		text : '保存草稿',
		id : 'save1Btn',
		formBind : true,
		disabled : true,
		handler : function() {
			var form = masterForm.getForm();
			form.findField('task.status').setValue(1);
			receids.push(form.findField('receid').getValue());
			form.submit({
				submitEmptyText : false,
				success : function(form, action) {
					var msg = "保存草稿成功！";
					Ext.Msg.show({
						title : '提示',
						msg : msg,
						buttons : Ext.Msg.OK,
						width : 300,
						fn : function() {
							if (role == 'shi') {
								window.top.Utils.getTabWindow("26");
								window.top.Utils.activePage("26");
							} else {
								window.top.Utils.getTabWindow("22");
								window.top.Utils.activePage("22");
							}
							if (flag == 'edit') {
								window.top.Utils.closePage('taskEdit' + taskId);
							} else {
								window.top.Utils.closePage('taskAdd');
							}
						}
					});
				}
			});

		}
	}, {
		text : '直接发布',
		id : 'save2Btn',
		formBind : true,
		disabled : true,
		handler : function() {
			var form = masterForm.getForm();
			form.findField('task.status').setValue(2);
			receids.push(form.findField('receid').getValue());
			form.submit({
				submitEmptyText : false,
				success : function(form, action) {
					var msg = "任务发布成功！";
					Ext.Msg.show({
						title : '提示',
						msg : msg,
						buttons : Ext.Msg.OK,
						width : 300,
						fn : function() {
							if (role == 'shi') {
								window.top.Utils.getTabWindow("26");
								window.top.Utils.activePage("26");
							} else {
								window.top.Utils.getTabWindow("22");
								window.top.Utils.activePage("22");
							}
							if (flag == 'edit') {
								window.top.Utils.closePage('taskEdit' + taskId);
							} else {
								window.top.Utils.closePage('taskAdd');
							}
						}
					});
				}
			});

		}
	}, {
		text : '关闭',
		id : 'closeBtn',
		handler : function() {
			if (role == 'shi') {
				window.top.Utils.getTabWindow("26");
				window.top.Utils.activePage("26");
			} else {
				window.top.Utils.getTabWindow("22");
				window.top.Utils.activePage("22");
			}
			if (flag == 'edit') {
				window.top.Utils.closePage('taskEdit' + taskId);
			} else {
				window.top.Utils.closePage('taskAdd');
			}
		}
	}],
	buttonAlign : 'center'
});

Ext.onReady(function() {
			Ext.create('Ext.container.Viewport', {
						layout : 'fit',
						items : [masterForm]
					});
			init();
			setTimeout(edit, 500);
		});

var edit = function() {
	if (flag == 'edit') {
		Ext.Ajax.request({
			url : 'taskAction!getById.action?taskId=' + taskId,
			success : function(response) {
				var res = response.responseText;
				res = Ext.JSON.decode(res);
				var taskInfo = res.taskInfo;
				if (taskInfo != null) {
					var form = masterForm.getForm();
					form.findField('task.id').setValue(taskInfo.id);
					form.findField('task.plantime').setValue(taskInfo.plantime);
					form.findField('task.status').setValue(taskInfo.status);
					form.findField('task.title').setValue(taskInfo.title);
					form.findField('task.status').setValue(taskInfo.status);
					setTimeout(function() {
							}, 1000)
					infoForm.getForm().findField('task.content')
							.setValue(taskInfo.content);
					// Ext.getCmp('contentEditor1').setContent(taskInfo.content);
					typeCombo.setValue(taskInfo.type);
				}
			}
		});
		Ext.Ajax.request({
					url : 'taskAction!getByTask.action?taskId=' + taskId,
					success : function(response) {
						var res = response.responseText;
						res = Ext.JSON.decode(res);
						var receivers = res.receivers;
						if (receivers != null) {
							var receIds = [], receNames = [];
							for (var i = 0; i < receivers.length; i++) {
								receIds[i] = receivers[i].userId;
								receNames[i] = receivers[i].userName;
							}
							receiverTriggerHidden.setValue(receIds);
							receiverTrigger.setValue(receNames);
						}
					}
				});
	}
}